#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <time.h>
#include <string.h>
#define N 40
typedef struct Student
{
	char stuId[16];
	char name[16];
	char gender;
	int age;
	double score;
}Student;

typedef struct ListNode
{
	Student data;
	struct ListNode* next;
}ListNode;

int loadStuData(Student data[]);
void showAStu(Student s);
void showAllStu(Student data[], int n);
Student getAStuCyclic(Student data[],int n);
Student getAStuRand(Student data[], int n);
int getLength(ListNode* h);
int insert(ListNode** h, int i, Student x);
ListNode* insertFromHeader(ListNode* h, Student x);
void insertFromFooter(ListNode** ph, Student x);
void showLinkList(ListNode* h);
int del(ListNode* h, char stuId[]);
int search(ListNode* h, char stuid[],Student* x);
int menu();